{
	// 1
	// 引入模块mo1.js  模块--模组   引入模块--->依赖模块
	// const mo1 = require("./mo/mo1.js");
	// console.log(mo1);// 100
}
{
	// 2
	// 如果文件名是.js .json文件可以省略扩展名
	// const mo2 = require("./mo/mo22.js");
	// console.log(mo2);

	// .json文件的内容是什么引入的值就是什么
	// const mo2 = require("./mo/mo2.json");
	// console.log(mo2);

	// .json文件也是可以省略的
	// 如果同时有.js与.json js文件优先
	// const mo2 = require("./mo/mo2");
	// console.log(mo2);

	// 如果引入的文件名为index.js,那么可以省略文件名
	// js文件的优先级最高。
	// const mo2 = require("./mo");
	// console.log(mo2);
}
{
	// 3
	// 省略前缀会去目录名字为node_modules中查找
	// const mo3 = require("mo/mo3");
	// console.log(mo3)

	// const mo3 = require("mo3");
	// console.log(mo3);
}
{
	// 4
	// 当同一个模块引入了多次，那么模块只会执行一次
	// 当引入第一次时，模块会将暴露的数据放置在缓存中。当下一次再对其进行引入，直接会从缓存中提取数据！
	const mo4 = require("./mo/mo1.js");
	const mo41 = require("./mo/mo1.js");
	const mo42 = require("./mo/mo1.js");
	const mo43 = require("./mo/mo1.js");
	const mo44 = require("./mo/mo1.js");
	const mo45 = require("./mo/mo1.js");
	const {username} = require("./mo/mo1.js");
	console.log(mo4 === mo45)
	console.log(mo4.username,username)
}
